interface C {
  name: string
  fn: (v: number) => string
}
interface D {
  age: number
  fn: (v: string) => string
}
type E = C & D
let e: E = {
  name: '',
  age: 12,
  fn(v: number | string) {
    console.log(v);

    return v + ''
  }
}
console.log(e);
